Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


sbapp/kivymd/uix/label/label.py 0.6.2 (c81b6635) Text, 27.89 KB

T8b949e"""
Components/Label
================

.. rubric:: The :class:`MDLabel` widget is for rendering text.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/label.png
:align: center

MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_ MDLabel_
MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_ MDIcon_

.. MDLabel:
MDLabel
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Class :class:`MDLabel` inherited from the :class:`~kivy.uix.label.Label` class
but for :class:`MDLabel` the ``text_size`` parameter is ``(self.width, None)``
and default is positioned on the left:

.. tabs::

.. tab:: Declarative KV style

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDLabel:
text: "MDLabel"
'''


class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return Builder.load_string(KV)


Test().run()

.. tab:: Declarative Python style

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.label import MDLabel


class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return (
MDScreen(
MDLabel(
text="MDLabel"
)
)
)


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-label-to-left.png
:align: center

.. Note:: See :attr:`~kivy.uix.label.Label.halign`
and :attr:`~kivy.uix.label.Label.valign` attributes
of the :class:`~kivy.uix.label.Label` class

.. code-block:: kv

MDLabel:
text: "MDLabel"
halign: "center"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-label-to-center.png
:align: center

:class:`~MDLabel` color:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

:class:`~MDLabel` provides standard color themes for label color management:

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel

KV = '''
MDBoxLayout:
orientation: "vertical"
'''


class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
screen = Builder.load_string(KV)

# Names of standard color themes.
for name_theme in [
"Primary",
"Secondary",
"Hint",
"Error",
"ContrastParentBackground",
]:
screen.add_widget(
MDLabel(
text=name_theme,
halign="center",
theme_text_color=name_theme,
)
)
return screen


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-label-theme-text-color.png
:align: center

To use a custom color for :class:`~MDLabel`, use a theme `'Custom'`.
After that, you can specify the desired color in the ``rgba`` format
in the ``text_color`` parameter:

.. code-block:: kv

MDLabel:
text: "Custom color"
halign: "center"
theme_text_color: "Custom"
text_color: "blue"

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-label-custom-color.png
:align: center

:class:`~MDLabel` provides standard font styles for labels. To do this,
specify the name of the desired style in the :attr:`~MDLabel.font_style`
parameter:

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.font_definitions import theme_font_styles

KV = '''
MDScrollView:

MDList:
id: box
spacing: "8dp"
'''


class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
screen = Builder.load_string(KV)

# Names of standard font styles.
for name_style in theme_font_styles[:-1]:
screen.ids.box.add_widget(
MDLabel(
text=f"{name_style} style",
halign="center",
font_style=name_style,
adaptive_height=True,
)
)
return screen


Test().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-label-font-style.png
:align: center

Highlighting and copying labels
===============================

You can highlight labels by double tap on the label:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. tabs::

.. tab:: Declarative KV style

.. code-block:: python

from kivy.lang.builder import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDLabel:
adaptive_size: True
pos_hint: {"center_x": .5, "center_y": .5}
text: "MDLabel"
allow_selection: True
padding: "4dp", "4dp"
'''


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return Builder.load_string(KV)


Example().run()

.. tab:: Declarative Python style

.. code-block:: python

from kivy.lang.builder import Builder

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.uix.screen import MDScreen


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return (
MDScreen(
MDLabel(
adaptive_size=True,
pos_hint={"center_x": .5, "center_y": .5},
text="MDLabel",
allow_selection=True,
padding=("4dp", "4dp"),
)
)
)


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-label-allow-selection.gif
:align: center

You can copy the label text by double clicking on it:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. tabs::

.. tab:: Declarative KV style

.. code-block:: python

from kivy.lang.builder import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDLabel:
adaptive_size: True
pos_hint: {"center_x": .5, "center_y": .5}
text: "MDLabel"
padding: "4dp", "4dp"
allow_selection: True
allow_copy: True
on_copy: print("The text is copied to the clipboard")
'''


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return Builder.load_string(KV)


Example().run()

.. tab:: Declarative Python style

.. code-block:: python

from kivy.lang.builder import Builder

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.uix.screen import MDScreen


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return (
MDScreen(
MDLabel(
id="label",
adaptive_size=True,
pos_hint={"center_x": .5, "center_y": .5},
text="MDLabel",
allow_selection=True,
allow_copy=True,
padding=("4dp", "4dp"),
)
)
)

def on_start(self):
self.root.ids.label.bind(on_copy=self.on_copy)

def on_copy(self, instance_label: MDLabel):
print("The text is copied to the clipboard")


Example().run()

Example of copying/cutting labels using the context menu
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.core.clipboard import Clipboard
from kivy.lang.builder import Builder
from kivy.metrics import dp

from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.uix.menu import MDDropdownMenu
from kivymd.toast import toast

KV = '''
MDBoxLayout:
orientation: "vertical"
spacing: "12dp"
padding: "24dp"

MDScrollView:

MDBoxLayout:
id: box
orientation: "vertical"
padding: "24dp"
spacing: "12dp"
adaptive_height: True

MDTextField:
max_height: "200dp"
mode: "fill"
multiline: True

MDWidget:
'''

data = [
"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"Sed blandit libero volutpat sed cras ornare arcu. Nisl vel pretium "
"lectus quam id leo in. Tincidunt arcu non sodales neque sodales ut etiam.",
"Elit scelerisque mauris pellentesque pulvinar pellentesque habitant. "
"Nisl rhoncus mattis rhoncus urna neque. Orci nulla pellentesque "
"dignissim enim. Ac auctor augue mauris augue neque gravida in fermentum. "
"Lacus suspendisse faucibus interdum posuere."

]


class CopyLabel(MDLabel):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.allow_selection = True
self.adaptive_height = True
self.theme_text_color = "Custom"
self.text_color = self.theme_cls.text_color


class Example(MDApp):
context_menu = None

def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Orange"
return Builder.load_string(KV)

def on_start(self):
for text in data:
copy_label = CopyLabel(text=text)
copy_label.bind(
on_selection=self.open_context_menu,
on_cancel_selection=self.restore_text_color,
)
self.root.ids.box.add_widget(copy_label)

def click_item_context_menu(
self, type_click: str, instance_label: CopyLabel
) -> None:
Clipboard.copy(instance_label.text)

if type_click == "copy":
toast("Copied")
elif type_click == "cut":
self.root.ids.box.remove_widget(instance_label)
toast("Cut")
if self.context_menu:
self.context_menu.dismiss()

def restore_text_color(self, instance_label: CopyLabel) -> None:
instance_label.text_color = self.theme_cls.text_color

def open_context_menu(self, instance_label: CopyLabel) -> None:
instance_label.text_color = "black"
menu_items = [
{
"text": "Copy text",
"viewclass": "OneLineListItem",
"height": dp(48),
"on_release": lambda: self.click_item_context_menu(
"copy", instance_label
),
},
{
"text": "Cut text",
"viewclass": "OneLineListItem",
"height": dp(48),
"on_release": lambda: self.click_item_context_menu(
"cut", instance_label
),
},
]
self.context_menu = MDDropdownMenu(
caller=instance_label, items=menu_items, width_mult=3
)
self.context_menu.open()


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/copying-cutting-labels-using-context-menu.gif
:align: center

.. MDIcon:
MDIcon
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

You can use labels to display material design icons using the
:class:`~MDIcon` class.

.. seealso::

`Material Design Icons <https://materialdesignicons.com/>`_

`Material Design Icon Names <https://github.com/kivymd/KivyMD/blob/master/kivymd/icon_definitions.py>`_

The :class:`~MDIcon` class is inherited from
:class:`~MDLabel` and has the same parameters.

.. Warning:: For the :class:`~MDIcon` class, you cannot use ``text``
and ``font_style`` options!

.. code-block:: kv

MDIcon:
icon: "gmail"
pos_hint: {"center_x": .5, "center_y": .5}

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-icon.png
:align: center

MDIcon with badge icon
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: kv

MDIcon:
icon: "gmail"
badge_icon: "numeric-10"
pos_hint: {"center_x": .5, "center_y": .5}

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/md-icon-badge.png
:align: center
"""

Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations

Te6edf3__all__ Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ffMDLabelTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffMDIconTa5d6ff"Tb4b4b4)

Tff7b72import T7ee787os
Tff7b72from T7ee787typing Tff7b72import Te6edf3Union

Tff7b72from T7ee787kivyT7ee787.T7ee787animation Tff7b72import Te6edf3Animation
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787kivyT7ee787.T7ee787coreT7ee787.T7ee787clipboard Tff7b72import Te6edf3Clipboard
Tff7b72from T7ee787kivyT7ee787.T7ee787coreT7ee787.T7ee787window Tff7b72import Te6edf3Window
Tff7b72from T7ee787kivyT7ee787.T7ee787graphics Tff7b72import Te6edf3ColorTb4b4b4, Te6edf3Rectangle
Tff7b72from T7ee787kivyT7ee787.T7ee787lang Tff7b72import Te6edf3Builder
Tff7b72from T7ee787kivyT7ee787.T7ee787metrics Tff7b72import Te6edf3sp
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Tb4b4b4(
Te6edf3AliasPropertyTb4b4b4,
Te6edf3BooleanPropertyTb4b4b4,
Te6edf3ColorPropertyTb4b4b4,
Te6edf3ListPropertyTb4b4b4,
Te6edf3NumericPropertyTb4b4b4,
Te6edf3ObjectPropertyTb4b4b4,
Te6edf3OptionPropertyTb4b4b4,
Te6edf3StringPropertyTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787label Tff7b72import Te6edf3Label

Tff7b72from T7ee787kivymd Tff7b72import Te6edf3uix_path
Tff7b72from T7ee787kivymdT7ee787.T7ee787theming Tff7b72import Te6edf3ThemableBehavior
Tff7b72from T7ee787kivymdT7ee787.T7ee787theming_dynamic_text Tff7b72import Te6edf3get_contrast_text_color
Tff7b72from T7ee787kivymdT7ee787.T7ee787uix Tff7b72import Te6edf3MDAdaptiveWidget
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787behaviors Tff7b72import Te6edf3DeclarativeBehaviorTb4b4b4, Te6edf3TouchBehavior
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787floatlayout Tff7b72import Te6edf3MDFloatLayout

Te6edf3__MDLabel_colors__ Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffPrimaryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fftext_colorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffSecondaryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffsecondary_text_colorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffHintTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffdisabled_hint_text_colorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffErrorTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fferror_colorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffOPTa5d6ff"Tb4b4b4: Tb4b4b4{
Ta5d6ff"Ta5d6ffPrimaryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffopposite_text_colorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffSecondaryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffopposite_secondary_text_colorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffHintTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffopposite_disabled_hint_text_colorTa5d6ff"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}

Tff7b72with Tffa657openTb4b4b4(
Te6edf3osTff7b72.Td2a8ffpathTff7b72.Td2a8ffjoinTb4b4b4(Te6edf3uix_pathTb4b4b4, Ta5d6ff"Ta5d6fflabelTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflabel.kvTa5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"
Tb4b4b4) Tff7b72as Te6edf3kv_fileTb4b4b4:
Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(Te6edf3kv_fileTff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)Tb4b4b4)


Tff7b72class T56d364MDLabelTb4b4b4(
Te6edf3DeclarativeBehaviorTb4b4b4,
Te6edf3ThemableBehaviorTb4b4b4,
Te6edf3LabelTb4b4b4,
Te6edf3MDAdaptiveWidgetTb4b4b4,
Te6edf3TouchBehaviorTb4b4b4,
Tb4b4b4)Tb4b4b4:
T8b949e"""
Label class.

For more information, see in the
:class:`~kivymd.uix.behaviors.DeclarativeBehavior` and
:class:`~kivymd.theming.ThemableBehavior` and
:class:`~kivy.uix.label.Label` and
:class:`~kivymd.uix.MDAdaptiveWidget` and
:class:`~kivymd.uix.behaviors.TouchBehavior`
classes documentation.

:Events:
`on_ref_press`
Called when the user clicks on a word referenced with a
``[ref]`` tag in a text markup.
`on_copy`
Called when double-tapping on the label.
`on_selection`
Called when double-tapping on the label.
`on_cancel_selection`
Called when the highlighting is removed from the label text.
"""

Te6edf3font_style Tff7b72= Te6edf3StringPropertyTb4b4b4(Ta5d6ff"Ta5d6ffBody1Ta5d6ff"Tb4b4b4)
T8b949e"""
Label font style.

Available vanilla font_style are: `'H1'`, `'H2'`, `'H3'`, `'H4'`, `'H5'`,
`'H6'`, `'Subtitle1'`, `'Subtitle2'`, `'Body1'`, `'Body2'`, `'Button'`,
`'Caption'`, `'Overline'`, `'Icon'`.

:attr:`font_style` is an :class:`~kivy.properties.StringProperty`
and defaults to `'Body1'`.
"""

Te6edf3_capitalizing Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)

Tff7b72def Td2a8ff_get_textTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_capitalizingTb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ff_textTff7b72.Td2a8ffupperTb4b4b4(Tb4b4b4)
Tff7b72return Tff7b72selfTff7b72.Td2a8ff_text

Tff7b72def Td2a8ff_set_textTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3valueTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_text Tff7b72= Te6edf3value

Te6edf3_text Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)

Te6edf3text Tff7b72= Te6edf3AliasPropertyTb4b4b4(Te6edf3_get_textTb4b4b4, Te6edf3_set_textTb4b4b4, Te6edf3bindTff7b72=Tb4b4b4[Ta5d6ff"Ta5d6ff_textTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff_capitalizingTa5d6ff"Tb4b4b4]Tb4b4b4)
T8b949e"""Text of the label."""

Te6edf3theme_text_color Tff7b72= Te6edf3OptionPropertyTb4b4b4(
Ta5d6ff"Ta5d6ffPrimaryTa5d6ff"Tb4b4b4,
Te6edf3allownoneTff7b72=Tff7b72TrueTb4b4b4,
Te6edf3optionsTff7b72=Tb4b4b4[
Ta5d6ff"Ta5d6ffPrimaryTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffSecondaryTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffHintTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffErrorTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffCustomTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffContrastParentBackgroundTa5d6ff"Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Tb4b4b4)
T8b949e"""
Label color scheme name.

Available options are: `'Primary'`, `'Secondary'`, `'Hint'`, `'Error'`,
`'Custom'`, `'ContrastParentBackground'`.

:attr:`theme_text_color` is an :class:`~kivy.properties.OptionProperty`
and defaults to `None`.
"""

Te6edf3text_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Label text color in (r, g, b, a) or string format.

:attr:`text_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3allow_copy Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)
T8b949e"""
Allows you to copy text to the clipboard by double-clicking on the label.

.. versionadded:: 1.2.0

:attr:`allow_copy` is an :class:`~kivy.properties.BooleanProperty`
and defaults to `False`.
"""

Te6edf3allow_selection Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)
T8b949e"""
Allows to highlight text by double-clicking on the label.

.. versionadded:: 1.2.0

:attr:`allow_selection` is an :class:`~kivy.properties.BooleanProperty`
and defaults to `False`.
"""

Te6edf3color_selection Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color in (r, g, b, a) or string format of the text selection when the
value of the :attr:`allow_selection` attribute is True.

.. versionadded:: 1.2.0

:attr:`color_selection` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3color_deselection Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The color in (r, g, b, a) or string format of the text deselection when the
value of the :attr:`allow_selection` attribute is True.

.. versionadded:: 1.2.0

:attr:`color_deselection` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3is_selected Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)
T8b949e"""
Is the label text highlighted.

.. versionadded:: 1.2.0

:attr:`is_selected` is an :class:`~kivy.properties.BooleanProperty`
and defaults to `False`.
"""

Te6edf3_text_color_str Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)

Te6edf3parent_background Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
Te6edf3can_capitalize Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72TrueTb4b4b4)
Te6edf3canvas_bg Tff7b72= Te6edf3ObjectPropertyTb4b4b4(Tb4b4b4)

Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffbindTb4b4b4(
Te6edf3font_styleTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_font_styleTb4b4b4,
Te6edf3can_capitalizeTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_font_styleTb4b4b4,
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffbindTb4b4b4(Te6edf3theme_styleTff7b72=Tff7b72selfTff7b72.Td2a8ff_do_update_theme_colorTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffregister_event_typeTb4b4b4(Ta5d6ff"Ta5d6ffon_copyTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffregister_event_typeTb4b4b4(Ta5d6ff"Ta5d6ffon_selectionTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffregister_event_typeTb4b4b4(Ta5d6ff"Ta5d6ffon_cancel_selectionTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffon_theme_text_colorTb4b4b4(Tff7b72NoneTb4b4b4, Tff7b72selfTff7b72.Td2a8fftheme_text_colorTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_font_styleTb4b4b4(Tff7b72NoneTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffon_opposite_colorsTb4b4b4(Tff7b72NoneTb4b4b4, Tff7b72selfTff7b72.Td2a8ffopposite_colorsTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcheck_font_stylesTb4b4b4)

Tff7b72def Td2a8ffcheck_font_stylesTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3intervalTb4b4b4: Te6edf3UnionTb4b4b4[Tffa657intTb4b4b4, Tffa657floatTb4b4b4] Tff7b72= T79c0ff0Tb4b4b4) Tff7b72-Tff7b72> Tffa657boolTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffont_style Tff7b72not Tff7b72in Tffa657listTb4b4b4(Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fffont_stylesTff7b72.Td2a8ffkeysTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4:
Tff7b72raise Tf85149ValueErrorTb4b4b4(
Ta5d6fffTa5d6ff"Ta5d6ffMDLabel.font_style is set to an invalid option Ta5d6ff'Tffd700{Tff7b72selfTff7b72.Td2a8fffont_styleTffd700}Ta5d6ff'Ta5d6ff.Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6ffMust be one of: Tffd700{Tffa657listTb4b4b4(Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fffont_stylesTb4b4b4)Tffd700}Ta5d6ff"
Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72True

Tff7b72def Td2a8ffupdate_font_styleTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3font_styleTb4b4b4: Tffa657strTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcheck_font_stylesTb4b4b4(Tb4b4b4) Tff7b72is Tff7b72TrueTb4b4b4:
Te6edf3font_info Tff7b72= Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fffont_stylesTb4b4b4[Tff7b72selfTff7b72.Td2a8fffont_styleTb4b4b4]
Tff7b72selfTff7b72.Td2a8fffont_name Tff7b72= Te6edf3font_infoTb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72if Tff7b72selfTff7b72.Td2a8fffont_style Tff7b72in Tffa657listTb4b4b4(Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fffont_stylesTff7b72.Td2a8ffkeysTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4:T79c0ff14Tb4b4b4]Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fffont_size Tff7b72= Te6edf3spTb4b4b4(Te6edf3font_infoTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)

Tff7b72if Te6edf3font_infoTb4b4b4[T79c0ff2Tb4b4b4] Tff7b72and Tff7b72selfTff7b72.Td2a8ffcan_capitalizeTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_capitalizing Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_capitalizing Tff7b72= Tff7b72False

T8b949e# TODO: Add letter spacing change
T8b949e# self.letter_spacing = font_info[3]

Tff7b72def Td2a8ffdo_selectionTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffis_selectedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffmd_bg_color Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffprimary_light
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffcolor_selection
Tff7b72else Tff7b72selfTff7b72.Td2a8ffcolor_selection
Tb4b4b4)

Tff7b72def Td2a8ffcancel_selectionTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffis_selectedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffmd_bg_color Tff7b72= Tb4b4b4(
Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffbg_normal
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffcolor_deselection
Tff7b72else Tff7b72selfTff7b72.Td2a8ffcolor_deselection
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdispatchTb4b4b4(Ta5d6ff"Ta5d6ffon_cancel_selectionTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffis_selected Tff7b72= Tff7b72False

Tff7b72def Td2a8ffon_double_tapTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3touchTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffallow_copy Tff7b72and Tff7b72selfTff7b72.Td2a8ffcollide_pointTb4b4b4(Tff7b72*Te6edf3touchTff7b72.Td2a8ffposTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Tff7b72selfTff7b72.Td2a8fftextTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdispatchTb4b4b4(Ta5d6ff"Ta5d6ffon_copyTa5d6ff"Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffallow_selection Tff7b72and Tff7b72selfTff7b72.Td2a8ffcollide_pointTb4b4b4(Tff7b72*Te6edf3touchTff7b72.Td2a8ffposTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdo_selectionTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdispatchTb4b4b4(Ta5d6ff"Ta5d6ffon_selectionTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffis_selected Tff7b72= Tff7b72True

Tff7b72def Td2a8ffon_window_touchTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffis_selectedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcancel_selectionTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffon_copyTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""
Called when double-tapping on the label.

.. versionadded:: 1.2.0
"""

Tff7b72def Td2a8ffon_selectionTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""
Called when double-tapping on the label.

.. versionadded:: 1.2.0
"""

Tff7b72def Td2a8ffon_cancel_selectionTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""
Called when the highlighting is removed from the label text.

.. versionadded:: 1.2.0
"""

Tff7b72def Td2a8ffon_allow_selectionTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3selectionTb4b4b4: Tffa657boolTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3selectionTb4b4b4:
Te6edf3WindowTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_touch_downTff7b72=Tff7b72selfTff7b72.Td2a8ffon_window_touchTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3WindowTff7b72.Td2a8ffunbindTb4b4b4(Te6edf3on_touch_downTff7b72=Tff7b72selfTff7b72.Td2a8ffon_window_touchTb4b4b4)

Tff7b72def Td2a8ffon_theme_text_colorTb4b4b4(
Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3theme_text_colorTb4b4b4: Tffa657str
Tb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Te6edf3op Tff7b72= Tff7b72selfTff7b72.Td2a8ffopposite_colors
Tff7b72if Te6edf3opTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_text_color_str Tff7b72= Te6edf3__MDLabel_colors__Tff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff"Ta5d6ffOPTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)Tff7b72.Td2a8ffgetTb4b4b4(
Te6edf3theme_text_colorTb4b4b4, Ta5d6ff"Ta5d6ff"
Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_text_color_str Tff7b72= Te6edf3__MDLabel_colors__Tff7b72.Td2a8ffgetTb4b4b4(Te6edf3theme_text_colorTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_text_color_strTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_do_update_theme_colorTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
T8b949e# 'Custom' and 'ContrastParentBackground' lead here, as well as the
T8b949e# generic None value it's not yet been set
Tff7b72selfTff7b72.Td2a8ff_text_color_str Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3theme_text_color Tff7b72== Ta5d6ff"Ta5d6ffCustomTa5d6ff" Tff7b72and Tff7b72selfTff7b72.Td2a8fftext_colorTb4b4b4:
Te6edf3color Tff7b72= Tff7b72selfTff7b72.Td2a8fftext_color
Tff7b72elif Tb4b4b4(
Te6edf3theme_text_color Tff7b72== Ta5d6ff"Ta5d6ffContrastParentBackgroundTa5d6ff"
Tff7b72and Tff7b72selfTff7b72.Td2a8ffparent_background
Tb4b4b4)Tb4b4b4:
Te6edf3color Tff7b72= Te6edf3get_contrast_text_colorTb4b4b4(Tff7b72selfTff7b72.Td2a8ffparent_backgroundTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3color Tff7b72= Tb4b4b4[T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff1Tb4b4b4]

Tff7b72if Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftheme_style_switch_animationTb4b4b4:
Te6edf3AnimationTb4b4b4(
Te6edf3colorTff7b72=Te6edf3colorTb4b4b4,
Te6edf3dTff7b72=Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftheme_style_switch_animation_durationTb4b4b4,
Te6edf3tTff7b72=Ta5d6ff"Ta5d6fflinearTa5d6ff"Tb4b4b4,
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolor Tff7b72= Te6edf3color

Tff7b72def Td2a8ffon_text_colorTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3colorTb4b4b4: Te6edf3UnionTb4b4b4[Tffa657listTb4b4b4, Tffa657strTb4b4b4]Tb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fftheme_text_color Tff7b72== Ta5d6ff"Ta5d6ffCustomTa5d6ff"Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftheme_style_switch_animationTb4b4b4:
Te6edf3AnimationTb4b4b4(
Te6edf3colorTff7b72=Tff7b72selfTff7b72.Td2a8fftext_colorTb4b4b4,
Te6edf3dTff7b72=Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftheme_style_switch_animation_durationTb4b4b4,
Te6edf3tTff7b72=Ta5d6ff"Ta5d6fflinearTa5d6ff"Tb4b4b4,
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolor Tff7b72= Tff7b72selfTff7b72.Td2a8fftext_color

Tff7b72def Td2a8ffon_opposite_colorsTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffon_theme_text_colorTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72selfTff7b72.Td2a8fftheme_text_colorTb4b4b4)

Tff7b72def Td2a8ffon_md_bg_colorTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3colorTb4b4b4: Te6edf3UnionTb4b4b4[Tffa657listTb4b4b4, Tffa657strTb4b4b4]Tb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcanvasTff7b72.Td2a8ffremove_groupTb4b4b4(Ta5d6ff"Ta5d6ffBackground_instructionTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcanvasTff7b72.Td2a8ffbeforeTff7b72.Td2a8ffclearTb4b4b4(Tb4b4b4)
Tff7b72with Tff7b72selfTff7b72.Td2a8ffcanvasTff7b72.Td2a8ffbeforeTb4b4b4:
Te6edf3ColorTb4b4b4(Te6edf3rgbaTff7b72=Te6edf3colorTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcanvas_bg Tff7b72= Te6edf3RectangleTb4b4b4(Te6edf3posTff7b72=Tff7b72selfTff7b72.Td2a8ffposTb4b4b4, Te6edf3sizeTff7b72=Tff7b72selfTff7b72.Td2a8ffsizeTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffbindTb4b4b4(Te6edf3posTff7b72=Tff7b72selfTff7b72.Td2a8ffupdate_canvas_bg_posTb4b4b4)

Tff7b72def Td2a8ffon_sizeTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3sizeTb4b4b4: Tffa657listTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcanvas_bgTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcanvas_bgTff7b72.Td2a8ffsize Tff7b72= Te6edf3size

Tff7b72def Td2a8ffupdate_canvas_bg_posTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_labelTb4b4b4, Te6edf3posTb4b4b4: Tffa657listTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcanvas_bgTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcanvas_bgTff7b72.Td2a8ffpos Tff7b72= Te6edf3pos

Tff7b72def Td2a8ff_do_update_theme_colorTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_text_color_strTb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffdisabledTb4b4b4:
Te6edf3color Tff7b72= Tffa657getattrTb4b4b4(Tff7b72selfTff7b72.Td2a8fftheme_clsTb4b4b4, Tff7b72selfTff7b72.Td2a8ff_text_color_strTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3color Tff7b72= Tffa657getattrTb4b4b4(Tff7b72selfTff7b72.Td2a8fftheme_clsTb4b4b4, Ta5d6ff"Ta5d6ffdisabled_hint_text_colorTa5d6ff"Tb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftheme_style_switch_animationTb4b4b4:
Te6edf3AnimationTb4b4b4(
Te6edf3colorTff7b72=Te6edf3colorTb4b4b4,
Te6edf3dTff7b72=Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fftheme_style_switch_animation_durationTb4b4b4,
Te6edf3tTff7b72=Ta5d6ff"Ta5d6fflinearTa5d6ff"Tb4b4b4,
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolor Tff7b72= Te6edf3color


Tff7b72class T56d364MDIconTb4b4b4(Te6edf3MDFloatLayoutTb4b4b4, Te6edf3MDLabelTb4b4b4)Tb4b4b4:
T8b949e"""
Icon class.

For more information, see in the :class:`~MDLabel` and
:class:`~kivymd.uix.floatlayout.MDFloatLayout` classes documentation.
"""

Te6edf3icon Tff7b72= Te6edf3StringPropertyTb4b4b4(Ta5d6ff"Ta5d6ffandroidTa5d6ff"Tb4b4b4)
T8b949e"""
Label icon name.

:attr:`icon` is an :class:`~kivy.properties.StringProperty`
and defaults to `'android'`.
"""

Te6edf3badge_icon Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
T8b949e"""
Label badge icon name.

.. versionadded:: 1.0.0

:attr:`badge_icon` is an :class:`~kivy.properties.StringProperty`
and defaults to `''`.
"""

Te6edf3badge_icon_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tb4b4b4[T79c0ff1Tb4b4b4, T79c0ff1Tb4b4b4, T79c0ff1Tb4b4b4, T79c0ff1Tb4b4b4]Tb4b4b4)
T8b949e"""
Badge icon color in (r, g, b, a) or string format.

.. versionadded:: 1.0.0

:attr:`badge_icon_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3badge_bg_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Badge icon background color in (r, g, b, a) or string format.

.. versionadded:: 1.0.0

:attr:`badge_bg_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3badge_font_size Tff7b72= Te6edf3NumericPropertyTb4b4b4(Tb4b4b4)
T8b949e"""
Badge font size.

.. versionadded:: 1.0.0

:attr:`badge_font_size` is an :class:`~kivy.properties.NumericProperty`
and defaults to `0`.
"""

Te6edf3source Tff7b72= Te6edf3StringPropertyTb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3allownoneTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Path to icon.

:attr:`source` is an :class:`~kivy.properties.StringProperty`
and defaults to `None`.
"""

Te6edf3_size Tff7b72= Te6edf3ListPropertyTb4b4b4(Tb4b4b4(T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4)

Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffadjust_sizeTb4b4b4)

Tff7b72def Td2a8ffadjust_sizeTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787selectioncontrol Tff7b72import Te6edf3MDCheckbox

Tff7b72if Tff7b72not Tffa657isinstanceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3MDCheckboxTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsize_hint Tff7b72= Tb4b4b4(Tff7b72NoneTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_size Tff7b72= Tff7b72selfTff7b72.Td2a8fftexture_sizeTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4, Tff7b72selfTff7b72.Td2a8fftexture_sizeTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffadaptive_size Tff7b72= Tff7b72True


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────